# -*- mode: CMake -*- 
# $Id: CMakelibAliHLTTPC.pkg 61197 2013-03-02 17:13:15Z jthaeder $
#--------------------------------------------------------------------------------#
# Package File for AliHLTTPC                                                     #
# Author : Johny Jose (johny.jose@cern.ch)                                       #
# Variables Defined :                                                            #
#                                                                                #
# SRCS - C++ source files                                                        #
# HDRS - C++ header files                                                        #
# DHDR - ROOT Dictionary Linkdef header file                                     #
# CSRCS - C source files                                                         #
# CHDRS - C header files                                                         #
# EINCLUDE - Include directories                                                 #
# EDEFINE - Compiler definitions                                                 #
# ELIBS - Extra libraries to link                                                #
# ELIBSDIR - Extra library directories                                           #
# PACKFFLAGS - Fortran compiler flags for package                                #
# PACKCXXFLAGS - C++ compiler flags for package                                  #
# PACKCFLAGS - C compiler flags for package                                      #
# PACKSOFLAGS - Shared library linking flags                                     #
# PACKLDFLAGS - Module linker flags                                              #
# PACKBLIBS - Libraries to link (Executables only)                               #
# EXPORT - Header files to be exported                                           #
# CINTHDRS - Dictionary header files                                             #
# CINTAUTOLINK - Set automatic dictionary generation                             #
# ARLIBS - Archive Libraries and objects for linking (Executables only)          #
# SHLIBS - Shared Libraries and objects for linking (Executables only)           #
#--------------------------------------------------------------------------------#

set ( CLASS_HDRS
    AliHLTTPCTransform.h
    transform/AliHLTTPCSpline2D3D.h
    transform/AliHLTTPCFastTransform.h
    AliHLTTPCClusterTransformation.h
    AliHLTTPCAgent.h
    AliHLTTPCMemHandler.h
    AliHLTTPCFileHandler.h
    AliHLTTPCClusterFinder.h
    AliHLTTPCMapping.h
    AliHLTTPCDigitReader.h
    AliHLTTPCDigitReaderUnpacked.h
    AliHLTTPCDigitReader32Bit.h
    AliHLTTPCDigitDumpComponent.h
    AliHLTTPCDataCheckerComponent.h
    AliHLTTPCSpacePointContainer.h
    AliHLTTPCRawSpacePointContainer.h
    AliHLTTPCHWCFSpacePointContainer.h
    AliHLTTPCTrackGeometry.h
    AliHLTTPCHWCFData.h
    offline/AliHLTTPCDigitPublisherComponent.h
    offline/AliHLTTPCOfflineCluster.h
    AliHLTTPCClusters.h
    AliHLTTPCPad.h
    AliHLTTPCDefinitions.h
    AliHLTTPCClusterFinderComponent.h
    AliHLTTPCHWClusterTransformComponent.h
    AliHLTTPCCFComparisonComponent.h
    AliHLTTPCHistogramHandlerComponent.h
    AliHLTTPCClusterConverterComponent.h
    AliHLTTPCClusterAccessHLTOUT.h
    tracking-ca/AliHLTTPCCATrack.h
    tracking-ca/AliHLTTPCCATracklet.h
    tracking-ca/AliHLTTPCCATracker.h
    tracking-ca/AliHLTTPCCABaseTrackParam.h
    tracking-ca/AliHLTTPCCATrackParam.h
    tracking-ca/AliHLTTPCCATrackConvertor.h
    tracking-ca/AliHLTTPCCAParam.h
    tracking-ca/AliHLTTPCCARow.h
    tracking-ca/AliHLTTPCCAGrid.h
    tracking-ca/AliHLTTPCCAHitArea.h
    tracking-ca/AliHLTTPCCAMCPoint.h
    tracking-ca/AliHLTTPCCATrackerComponent.h
    tracking-ca/AliHLTTPCCANeighboursFinder.h
    tracking-ca/AliHLTTPCCANeighboursCleaner.h
    tracking-ca/AliHLTTPCCAStartHitsFinder.h
    tracking-ca/AliHLTTPCCATrackletConstructor.h
    tracking-ca/AliHLTTPCCATrackletSelector.h
    tracking-ca/AliHLTTPCCADisplay.h
    tracking-ca/AliHLTTPCCAMCTrack.h
    tracking-ca/AliHLTTPCCAPerformance.h
    tracking-ca/AliHLTTPCCAMerger.h
    tracking-ca/AliHLTTPCCAGlobalMergerComponent.h
    tracking-ca/AliHLTTPCCAClusterData.h
    tracking-ca/AliHLTTPCCASliceData.h
    tracking-ca/AliHLTTPCCASliceOutput.h
    tracking-ca/AliHLTTPCCAStandaloneFramework.h
    tracking-ca/AliTPCtrackerCA.h
    tracking-ca/AliHLTTPCCATrackerFramework.h
    tracking-ca/AliHLTTPCCAInputDataCompressorComponent.h
    tracking-ca/AliHLTTPCCAGPUTracker.h
    tracking-ca/AliHLTTPCCATrackerOutputConverter.h
    merger-ca/AliHLTTPCGMTrackParam.h
    merger-ca/AliHLTTPCGMSliceTrack.h
    merger-ca/AliHLTTPCGMMerger.h
    comp/AliHLTTPCDataCompressionComponent.h
    comp/AliHLTTPCDataCompressionMonitorComponent.h
    comp/AliHLTTPCDataCompressionDecoder.h
    comp/AliHLTTPCDataCompressionFilterComponent.h
    AliHLTTPCDataPublisherComponent.h
    AliHLTTPCClusterHistoComponent.h
    AliHLTTPCTrackHistoComponent.h
    AliHLTTPCTrackDumpComponent.h
    AliHLTTPCClusterDumpComponent.h
    AliHLTTPCHWCFDataReverterComponent.h
    AliHLTTPCTrackMCMarkerComponent.h
    AliHLTTPCdEdxComponent.h
    AliHLTTPCdEdxMonitoringComponent.h
    HWCFemulator/AliHLTTPCHWCFExtractorUnit.h
    HWCFemulator/AliHLTTPCHWCFPeakFinderUnit.h
    HWCFemulator/AliHLTTPCHWCFProcessorUnit.h
    HWCFemulator/AliHLTTPCHWCFMergerUnit.h
    HWCFemulator/AliHLTTPCHWCFDivisionUnit.h
    HWCFemulator/AliHLTTPCHWCFEmulator.h
    HWCFemulator/AliHLTTPCHWCFSupport.h
    HWCFemulator/AliHLTTPCHWCFEmulatorComponent.h
    HWCFemulator/AliHLTTPCHWCFConsistencyControlComponent.h
    HWCFemulator/AliHLTTPCHWClusterMerger.h
)

string ( REPLACE ".h" ".cxx" MODULE_SRCS "${CLASS_HDRS}")
list(APPEND MODULE_SRCS AliHLTTPCLog.cxx)

set ( MODULE_HDRS  	
    ${CLASS_HDRS}
    AliHLTTPCLog.h
    AliHLTTPCLogging.h
    AliHLTTPCSpacePointData.h
    AliHLTTPCDigitData.h
    AliHLTTPCTrackSegmentData.h
    AliHLTTPCTrackletDataFormat.h
    AliHLTTPCClusterDataFormat.h
    AliHLTTPCClusterMCData.h
    HWCFemulator/AliHLTTPCHWCFDataTypes.h
)

set ( MODULE_DHDR )

set ( EINCLUDE  HLT/TPCLib HLT/TPCLib/tracking HLT/TPCLib/comp HLT/TPCLib/tracking-ca HLT/TPCLib/merger-ca HLT/TPCLib/offline HLT/TPCLib/HWCFemulator HLT/TPCLib/transform HLT/BASE HLT/BASE/util HLT/RCU TPC TPC/Base TPC/Sim TPC/Rec RAW STEER/STEER STEER/ESD STEER/STEERBase)
set ( ELIBS  dl)

set ( ELIBS  "Vc HLTbase AliHLTRCU AliHLTUtil CDB ESD STEER STEERBase TPCrec TPCcalib TPCbase RAWDatarec RAWDatabase -lEG")

set ( ELIBSDIR "${ROOTLIBDIR}" )

include ("CMakehlt.conf")

if (MODULE_SRCS)
ALICE_Format (SRCS "TPCLib/" "" "${MODULE_SRCS}")
endif(MODULE_SRCS)
if (CLASS_HDRS)
ALICE_Format (CINTHDRS "TPCLib/" "" "${CLASS_HDRS}")
endif(CLASS_HDRS)
if (MODULE_HDRS)
ALICE_Format (HDRS "TPCLib/" "" "${MODULE_HDRS}")
endif(MODULE_HDRS)
if (MODULE_DHDR)
ALICE_Format (DHDR "TPCLib/" "" "${MODULE_DHDR}")
endif(MODULE_DHDR)

if(NOT DHDR)
  set(CINTAUTOLINK 1)
endif(NOT DHDR)

set ( EDEFINE  ${HLTDEFS})
set ( PACKCXXFLAGS  "${HLTCXXFLAGS} -Wshadow -Wall -O3")
set ( PACKCFLAGS  ${HLTCLFAGS})
set ( PACKDCXXFLAGS  ${HLTDCXXFLAGS})
set ( PACKSOFLAGS ${HLTSOFLAGS})

ALICE_UseVc()


